/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.src.uniandes.ecos.tsp.creditscore.enums;

/**
 *
 * @author AndhyMao
 */
public enum PaymentHistoryEnum {
    /**
     * Value asigned to payments on time.
     */
    PAYMENT_ON_TIME(1, 8.75),
    /**
     * Value asigned to payments 30 days late.
     */
    PAYMENT_30_DAYS_LATE(1, 4.375),
    /**
     * Value asigned to payments 60 days late.
     */
    PAYMENT_60_DAYS_LATE(1, 0),
    /**
     * Value to compare a less than three accounts.
     */
    ACCOUNT_NUMBER_LESS_EQUAL_THAN_THREE(1, 3),
    /**
     * Value to use when the client has less than three accounts.
     */
    VALUE_ACOUNT_NUMBER_LESS_EQUAL_THAN_THREE(1, 8.75),
    /**
     * Value to compare a less than seven accounts.
     */
    ACCOUNT_NUMBER_LESS_EQUAL_THAN_SEVEN(1, 7),
    /**
     * Value to use when the client has less than seven accounts.
     */
    VALUE_ACCOUNT_NUMBER_LESS_EQUAL_THAN_SEVEN(1, 4.375),
    /**
     * Value to compare more than seven accounts.
     */
    ACCOUNT_NUMBER_GREATER_THAN_SIX(1, 6),
    /**
     * Value to use when the client has more than seven accounts.
     */
    VALUE_ACCOUNT_NUMBER_GREATER_THAN_SEVEN(1, 0),
    /**
     * Value to compare more than twentyfive percent.
     */
    USED_CREDIT_ACCORDING_TO_DEBT_LESS_THAN_TWENTYFIVE(1, 0.25),
    /**
     * Value to use when the cliente has less than twentyfive percent in debt.
     */
    VALUE_CREDIT_ACCORDING_TO_DEBT_LESS_THAN_TWENTYFIVE(1, 8.75),
    /**
     * Value to compare more than twentyfive percent.
     */
    USED_CREDIT_ACCORDING_TO_DEBT_GREATER_EQUAL_THAN_TWENTYFIVE(1, 0.25),
    /**
     * Value to use when the cliente has less than twentyfive percent in debt.
     */
    VALUE_CREDIT_ACCORDING_TO_DEBT_GREATER_EQUAL_THAN_TWENTYFIVE(1, 8.75),
    /**
     * Value to compare more than fifty percent.
     */
    USED_CREDIT_ACCORDING_TO_DEBT_LESS_THAN_FIFTY(1, 0.5),
    /**
     * Value to use when the cliente has less than fifty percent in debt.
     */
    VALUE_CREDIT_ACCORDING_TO_DEBT_LESS_THAN_FIFTY(1, 6.5625),
    /**
     * Value to compare more than fifty percent.
     */
    USED_CREDIT_ACCORDING_TO_DEBT_GREATER_EQUAL_THAN_FIFTY(1, 0.5),
    /**
     * Value to use when the cliente has less than fifty percent in debt.
     */
    VALUE_CREDIT_ACCORDING_TO_DEBT_GREATER_EQUAL_THAN_FIFTY(1, 4.375),
    /**
     * Value to compare more than seventyfive percent.
     */
    USED_CREDIT_ACCORDING_TO_DEBT_LESS_THAN_SEVENTYFIVE(1, 0.75),
    /**
     * Value to use when the cliente has less than seventyfive percent in debt.
     */
    VALUE_CREDIT_ACCORDING_TO_DEBT_LESS_THAN_SEVENTYFIVE(1, 2.1875),
    /**
     * Value to compare more than seventyfive percent.
     */
    USED_CREDIT_ACCORDING_TO_DEBT_GREATER_EQUAL_THAN_SEVENTYFIVE(1, 0.75),
    /**
     * Value to use when the cliente has less than twentyfive percent in debt.
     */
    VALUE_CREDIT_ACCORDING_TO_DEBT_GREATER_EQUAL_THAN_SEVENTYFIVE(1, 2.1875),
    /**
     * Value to compare more than seventyfive percent.
     */
    USED_CREDIT_ACCORDING_TO_DEBT_LESS_THAN_ONE(1, 1),
    /**
     * Value to compare more than thirty percent.
     */
    USED_CREDIT_ACCORDING_TO_DEBT_LESS_THAN_THIRTY(1, 0.3),
    /**
     * Value to use when the cliente has less than thirty percent in debt.
     */
    VALUE_CREDIT_ACCORDING_TO_DEBT_LESS_THAN_THIRTY(1, 8.75),
    /**
     * Value to compare more than thirty percent.
     */
    USED_CREDIT_ACCORDING_TO_DEBT_GREATER_EQUAL_THAN_THIRTY(1, 0.3),
    /**
     * Value to use when the cliente has less than thirty percent in debt.
     */
    VALUE_CREDIT_ACCORDING_TO_DEBT_GREATER_EQUAL_THAN_THIRTY(1, 6.5625),
    /**
     * Value to compare more than sixty percent.
     */
    USED_CREDIT_ACCORDING_TO_DEBT_LESS_THAN_SIXTY(1, 0.6),
    /**
     * Value to use when the cliente has less than sixty percent in debt.
     */
    VALUE_CREDIT_ACCORDING_TO_DEBT_LESS_THAN_SIXTY(1, 6.5625),
    /**
     * Value to compare more than sixty percent.
     */
    USED_CREDIT_ACCORDING_TO_DEBT_GREATER_EQUAL_THAN_SIXTY(1, 0.6),
    /**
     * Value to use when the cliente has less than sixty percent in debt.
     */
    VALUE_CREDIT_ACCORDING_TO_DEBT_GREATER_EQUAL_THAN_SIXTY(1, 4.375),
    /**
     * Value to compare more than ninety percent.
     */
    USED_CREDIT_ACCORDING_TO_DEBT_LESS_THAN_NINETY(1, 0.9),
    /**
     * Value to use when the cliente has less than ninety percent in debt.
     */
    VALUE_CREDIT_ACCORDING_TO_DEBT_LESS_THAN_NINETY(1, 4.375),
    /**
     * Value to compare more than ninety percent.
     */
    USED_CREDIT_ACCORDING_TO_DEBT_GREATER_EQUAL_THAN_NINETY(1, 0.9),
    /**
     * Value to use when the cliente has less than ninety percent in debt.
     */
    VALUE_CREDIT_ACCORDING_TO_DEBT_GREATER_EQUAL_THAN_NINETY(1, 2.1875),
    /**
     * Value to compare more than one hundred percent.
     */
    USED_CREDIT_ACCORDING_TO_DEBT_LESS_THAN_ONE_LOAN(1, 1),
    /**
     * Value to use when the cliente has less than one hundred percent in debt.
     */
    VALUE_CREDIT_ACCORDING_TO_DEBT_LESS_THAN_ONE_LOAN(1, 2.1875),
    /**
     * Value to use when the cliente has less than one hundred percent in debt.
     */
    VALUE_24_MONTHS_DEBT(1, 8.75),
    /**
     * Score to use when looking for a 60 day debt.
     */
    VALUE_12_MONTHS_60_DAY_DEBT(1, 1.09375),
    /**
     * Score to use when looking for a 30 day debt.
     */
    VALUE_12_MONTHS_30_DAY_DEBT(1, 2.1875),
    /**
     * Score to use when looking for a 30 day debt.
     */
    VALUE_12_24_MONTHS_60_DAY_DEBT(1, 2.1875),
    /**
     * Score to use when looking for a 30 day debt.
     */
    VALUE_12_24_MONTHS_30_DAY_DEBT(1, 4.375);

    private int id;
    private double points;

    PaymentHistoryEnum(final int id, final double points) {
        this.id = id;
        this.points = points;
    }

    /**
     * @return the id
     */
    public int getId() {
        return id;
    }

    /**
     * @param id the id to set
     */
    public void setId(final int id) {
        this.id = id;
    }

    /**
     * @return the points
     */
    public double getPoints() {
        return points;
    }

    /**
     * @param points the points to set
     */
    public void setPoints(final double points) {
        this.points = points;
    }
}
